package com.meiyou.service;

import com.meiyou.dto.AddCommentDto;
import com.meiyou.dto.CommentPageDto;
import com.meiyou.result.PageResult;

/**
 * @BelongsProject: meiyou
 * @BelongsPackage: com.meiyou.service
 * @Author: 尹晓安
 * @Date: 2023/12/3 20:55
 * @Description: todo
 */
public interface CommentService {

    /**
     * 发布评论
     *
     * @param addCommentDto
     * @return
     */
    void addComment(AddCommentDto addCommentDto);

    /**
     * 分页获取文章评论
     *
     * @param articleId
     * @param commentPageDto
     * @return
     */
    PageResult getCommentPage(Long articleId, CommentPageDto commentPageDto);

    /**
     * 分页获取文章子评论
     *
     * @param commentId
     * @param commentPageDto
     * @return
     */
    PageResult getChildCommentPage(Long commentId, CommentPageDto commentPageDto);

    /**
     * 分页获取用户评论
     *
     * @param commentPageDto
     * @return
     */
    PageResult getUserCommentPage(CommentPageDto commentPageDto);

    /**
     * 删除评论
     *
     * @param id 评论id
     * @return
     */
    void deleteComment(Long id);

    /**
     * 点赞评论
     *
     * @param id 评论id
     * @return
     */
    void starComment(Long id);
}
